package handler

import (
	"github.com/gin-gonic/gin"
	"github.com/lab-online/internal/lab/valueobject"
)

// MimoDecodeReqBody only for swagger
type MimoDecodeReqBody struct {
	BaseLabReqBody
	Args valueobject.MimoDecode `json:"args" binding:"required"`
}

// MimoPlot MIMO仿真解码
//
//	@Summary				MIMO仿真解码
//	@Description.markdown	MimoPlot
//	@Tags					labs
//	@Tags					mimo
//	@Accept					json
//	@Produce				json
//	@Param					Authorization	header		string				true	"Bearer Token"
//	@Param					Body			body		MimoDecodeReqBody	true	"JSON body"
//	@Failure				400				{object}	resp.BaseRespBody
//	@Failure				401				{object}	resp.BaseRespBody
//	@Security				bearer
//	@Router					/v1/labs/mimo-decode [post]
func (h *Handler) MimoDecode() gin.HandlersChain {
	return commonChain[valueobject.MimoDecode](h.domain.MimoDecode)
}
